﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace QLKS.Models
{
    public class ThanhToanModel
    {
        public int Stt { get; set; }
        public string MaPhong { get; set; }
        public string NgayThue { get; set; }
        public string NgayTra { get; set; }
        public int SoNgayThue { get; set; }
        public int SoGioThue { get; set; }
        public double GiaTheoNgay { get; set; }
        public double GiaTheoGio { get; set; }
        public bool Xoa { get; set; }

        public ThanhToanModel(int stt,string maPhong, string ngayThue, string ngayTra, int soNgayThue, int soGioThue,
                double giaTheoNgay, double giaTheoGio, bool xoa)
        {
            Stt = stt;
            MaPhong = maPhong;
            NgayThue = ngayThue;
            NgayTra = ngayTra;
            SoNgayThue = soNgayThue;
            SoGioThue = soGioThue;
            GiaTheoNgay = giaTheoNgay;
            GiaTheoGio = giaTheoGio;
            Xoa = xoa;
        }

        //ấy số lượng tối đa phụ thu
        static public int GetDKPhuThu(int matuychon)
        {
            object soluong = DataProviderModel.ScalarExecute("SELECT soluong FROM dmTuyChon WHERE matuychon = " + matuychon);
            if (soluong == null)
                return -1;
            return int.Parse(soluong.ToString());
        }

        //Lấy hẹ số phụ thu
        static public double HeSoPhuThu(int matuychon)
        {
            object heso = DataProviderModel.ScalarExecute("SELECT heso FROM dmTuyChon WHERE matuychon = " + matuychon);
            if (heso == null)
                return 0;
            return double.Parse(heso.ToString());
        }

        //Tính tiền Phòng
        static public double GetHeSoPhuThu(string maphong)
        {
            DataTable tb = Models.ThuePhongModel.GetChiTietPhieuThue(maphong, "*");
            if(tb.Rows.Count <=0)
                return 0;
            int matuychon = 0;
            int soluong = GetDKPhuThu(1);
            if (tb.Select("nhomkh = 4").Length > 0)
                matuychon = 2;
            else
                if (tb.Rows.Count >= soluong)
                    matuychon = 1;
            if (matuychon == 0)
                return 1;
            return 1 + HeSoPhuThu(matuychon);
        }

        //Tính tiền phòng
        static public bool ThanhToanPhong(string maphong, string ngaytra, string giotra, double tongtien, string makh)
        {
            try
            {
                double tongtiennt = Models.PhongModel.TinhGiaNgoaiTe(tongtien, "USD");
                string query1 = "UPDATE ThuePhong SET ngaytra = '" + ngaytra + "', giotra = '" + giotra + "', tongtien = "
                                + tongtien + " , makh = '" + makh + "', tongtiennt = " + tongtiennt + ", tinhtrang = 1 WHERE maphong = '" 
                                + maphong + "' AND tinhtrang = 0";
                string query2 = "UPDATE dmPhong SET tinhtrang = 1 where maphong = '" + maphong + "'";
                DataProviderModel.RunExecute(query1);
                DataProviderModel.RunExecute(query2);
            }
            catch
            { return false; }
            return true;
        }
    }
}
